Crear cámaras mediante programación
El BasicMotion_CreateCamTableOnline.project
El proyecto de muestra se encuentra en el directorio de instalación de CODESYS bajo ..\CODESYS SoftMotion\Examples
.
El ejemplo muestra cómo puede usar el código IEC para crear y usar una cámara. Aquí se tratan los siguientes puntos
Una cámara creada en el editor de cámaras se vuelve a crear con código IEC.
En un caso, el disco de leva se genera en la tarea de bus.
En el otro caso, el disco de leva se genera en una tarea separada.
Luego, las tres levas funcionan con el mismo eje maestro y diferentes ejes esclavos. El movimiento de las tres esclavas es idéntico.
La leva generada en el código IEC se muestra en la visualización.
Para obtener más información sobre la creación programática de cámaras, consulte: Crear cámaras mediante programación
Estructura de la aplicación
La aplicación consta de los siguientes componentes:
CamOffline
La cámara creada en el editor de cámaras que debe volver a crearse con el código IEC.
PLC_PRG
El programa consiste en una máquina de estados simple y, lógicamente, en tres partes. En la primera y la segunda parte, se crea una leva en código IEC. En la tercera parte, se ejecutan las cámaras creadas anteriormente y una cámara idéntica creada sin conexión
Parte 1:
en el primer estado
STATE_CREATE_ONLINE_TABLE
, se crea una leva en código IEC. El SMCB.CamBuilder bloque de funciones delSM3_CamBuilder
La biblioteca se utiliza para este propósito. Se agregan tres segmentos: un elemento Poly5 seguido de un elemento Line y otro elemento Poly5. El constructor genera un camonline cámara de esto. A partir de este momento, la leva se crea en código IEC y se puede utilizar de la misma manera que la Cámara sin conexión cámara creada sin conexión en el editor de cámara.Parte 2:
En el
STATE_INIT_ONLINE_TABLE_MULTITASK
,STATE_START_CREATE_ONLINE_TABLE_MULTITASK
, ySTATE_READ_ONLINE_TABLE_MULTITASK
indica que la creación de la cámara se inicia en otra tarea y, a continuación, se lee.Parte 3:
En el
STATE_POWER_DRIVES
estado, se inicializan los ejes virtuales del eje maestro y de los tres ejes esclavos. A continuación, las levas se seleccionan medianteMC_CamTableSelect
en elSTATE_SELECT_TABLE
estado y ejecutado en la finalSTATE_MOVEMENT
estado. El eje maestro se mueve usandoMC_MoveVelocity
y se usa como maestro para las tres levas.
MultitaskCamBuilder
Un programa que genera una cámara como se describe en la parte 1 de
PLC_PRG
. La única diferencia aquí es que se utiliza una variante de la cámara multitarea y segura para varios núcleosGVL
Aquí se instancia la variante multitarea/multicore segura de la cámara.
Visualization
La visualización contiene el
SMC_Visu_CamDisplayer
elemento para mostrar cámaras. La cámara generada en la parte 1 dePLC_PRG
se muestra.CamDisplayerSettings
Elementos adicionales para mostrar la cámara en
Visualization
Trace
Puede usar la traza para rastrear el movimiento de los ejes virtuales. Se registra la posición actual del maestro, así como la posición, la velocidad y la aceleración de los tres ejes secundarios.
Puesta en servicio
Compile la aplicación y descárguela a un controlador.
Inicie el rastreo y la aplicación.
Observe el rastro de muestreo.
Visualización de la cámara generada en la visualización